exec sp_executesql N'	-- ALIQUOTAS
	SELECT
		PRODUTO, TEXT = ''60R'' + A.DATA + CONVERT(CHAR(14), PRODUTO) +
		RIGHT(REPLICATE(''0'', 13) + CONVERT(VARCHAR, CONVERT(BIGINT, SUM(QTDE) * 1000)), 13) +
		RIGHT(REPLICATE(''0'', 16) + CONVERT(VARCHAR, CONVERT(BIGINT, SUM(VALOR) * 100)), 16) +
		RIGHT(REPLICATE(''0'', 16) + CONVERT(VARCHAR, CONVERT(BIGINT, SUM(VALOR) * 100)), 16) +
		CONVERT(CHAR(4), CASE WHEN dbo.fn_TaxException(CLASSIF_FISCAL, @P1, @P2, 1, ALIQUOTA) > 0 THEN
		RIGHT(REPLICATE(''0'', 4) + CONVERT(VARCHAR, CONVERT(BIGINT, dbo.fn_TaxException(CLASSIF_FISCAL, @P3, @P4, 1, ALIQUOTA) * 100)), 4)
		WHEN dbo.fn_TaxException(CLASSIF_FISCAL, @P5, @P6, 1, ALIQUOTA) = 0 THEN ''I''
		WHEN dbo.fn_TaxException(CLASSIF_FISCAL, @P7, @P8, 1, ALIQUOTA) = - 1 THEN ''F''
		WHEN dbo.fn_TaxException(CLASSIF_FISCAL, @P9, @P10, 1, ALIQUOTA) = - 2 THEN ''N''
		END) + CONVERT(CHAR(54), ''''),
		RIGHT(A.DATA, 4) + LEFT(A.DATA, 2) + ''99'' + ''5'' AS INDICE
	FROM
		(SELECT DATA = RIGHT(REPLICATE(''0'', 2) + CONVERT(VARCHAR, month(A.DATA), 112), 2) + CONVERT(VARCHAR, year(A.DATA), 112),D.PRODUTO, D.ALIQUOTA, G.CLASSIF_FISCAL, QTDE = SUM(QTDE), VALOR = SUM(QTDE * PRECO_LIQUIDO) - SUM((DESCONTO_ITEM + (QTDE * PRECO_LIQUIDO * FATOR_DESCONTO_VENDA)))
		FROM
			LOJA_VENDA_PGTO A
			INNER JOIN LOJA_VENDA B ON A.CODIGO_FILIAL = B.CODIGO_FILIAL_PGTO AND A.TERMINAL = B.TERMINAL_PGTO AND A.LANCAMENTO_CAIXA = B.LANCAMENTO_CAIXA
			INNER JOIN LOJA_VENDA_PRODUTO D ON B.CODIGO_FILIAL = D.CODIGO_FILIAL AND B.TICKET = D.TICKET AND B.DATA_VENDA = D.DATA_VENDA
			INNER JOIN LOJAS_VAREJO E ON A.CODIGO_FILIAL = E.CODIGO_FILIAL
			INNER JOIN FILIAIS F ON E.FILIAL = F.FILIAL
			INNER JOIN PRODUTOS G ON D.PRODUTO = G.PRODUTO
			INNER JOIN CLASSIF_FISCAL H ON G.CLASSIF_FISCAL = H.CLASSIF_FISCAL
		WHERE
			A.ID_EQUIPAMENTO IS NOT NULL AND D.QTDE > 0
			AND EXISTS(SELECT ECF FROM LOJA_CONTROLE_FISCAL WHERE CODIGO_FILIAL = A.CODIGO_FILIAL AND TERMINAL = A.TERMINAL AND ID_EQUIPAMENTO = A.ID_EQUIPAMENTO AND DATA_FISCAL = A.DATA)
			AND A.CODIGO_FILIAL = @P11
			AND A.DATA BETWEEN @P12 AND @P13
		GROUP BY
			A.DATA, D.PRODUTO, D.ALIQUOTA, G.CLASSIF_FISCAL) A
	GROUP BY
		DATA, PRODUTO, CLASSIF_FISCAL, ALIQUOTA
	UNION ALL
	-- DESCONTOS
	SELECT
		PRODUTO, TEXT = ''60R'' + A.DATA + CONVERT(CHAR(14), PRODUTO) +
		RIGHT(REPLICATE(''0'', 13) + CONVERT(VARCHAR, CONVERT(BIGINT, SUM(QTDE) * 1000)), 13) +
		RIGHT(REPLICATE(''0'', 16) + CONVERT(VARCHAR, CONVERT(BIGINT, SUM(VALOR) * 100)), 16) +
		RIGHT(REPLICATE(''0'', 16) + CONVERT(VARCHAR, CONVERT(BIGINT, SUM(VALOR) * 100)), 16) +
		CONVERT(CHAR(4), ''DESC'') +
		CONVERT(CHAR(54), ''''),
		RIGHT(A.DATA, 4) + LEFT(A.DATA, 2) + ''99'' + ''5'' AS INDICE
	FROM
		(SELECT DATA = RIGHT(REPLICATE(''0'', 2) + CONVERT(VARCHAR, month(A.DATA), 112), 2) + CONVERT(VARCHAR, year(A.DATA), 112),
			D.PRODUTO, D.ALIQUOTA, G.CLASSIF_FISCAL, QTDE = SUM(QTDE), VALOR = SUM(CASE WHEN D.DESCONTO_ITEM > 0 THEN D.DESCONTO_ITEM ELSE 0 END + CASE WHEN D.FATOR_DESCONTO_VENDA > 0 THEN (D.QTDE * D.PRECO_LIQUIDO * D.FATOR_DESCONTO_VENDA) ELSE 0 END)
		FROM
			LOJA_VENDA_PGTO A
			INNER JOIN LOJA_VENDA B ON A.CODIGO_FILIAL = B.CODIGO_FILIAL_PGTO AND A.TERMINAL = B.TERMINAL_PGTO AND A.LANCAMENTO_CAIXA = B.LANCAMENTO_CAIXA
			INNER JOIN LOJA_VENDA_PRODUTO D ON B.CODIGO_FILIAL = D.CODIGO_FILIAL AND B.TICKET = D.TICKET AND B.DATA_VENDA = D.DATA_VENDA
			INNER JOIN LOJAS_VAREJO E ON A.CODIGO_FILIAL = E.CODIGO_FILIAL
			INNER JOIN FILIAIS F ON E.FILIAL = F.FILIAL
			INNER JOIN PRODUTOS G ON D.PRODUTO = G.PRODUTO
			INNER JOIN CLASSIF_FISCAL H ON G.CLASSIF_FISCAL = H.CLASSIF_FISCAL
		WHERE
			A.ID_EQUIPAMENTO IS NOT NULL AND D.QTDE > 0
			AND EXISTS(SELECT ECF FROM LOJA_CONTROLE_FISCAL WHERE CODIGO_FILIAL = A.CODIGO_FILIAL AND TERMINAL = A.TERMINAL AND ID_EQUIPAMENTO = A.ID_EQUIPAMENTO AND DATA_FISCAL = A.DATA)
			AND (D.DESCONTO_ITEM > 0 OR D.FATOR_DESCONTO_VENDA > 0)
			AND A.CODIGO_FILIAL = @P14
			AND A.DATA BETWEEN @P15 AND @P16
		GROUP BY
			A.DATA, D.PRODUTO, D.ALIQUOTA, G.CLASSIF_FISCAL) A
	GROUP BY
		DATA, PRODUTO, CLASSIF_FISCAL, ALIQUOTA
	UNION ALL
	-- CANCELAMENTOS
	SELECT
		PRODUTO, TEXT = ''60R'' + A.DATA + CONVERT(CHAR(14), PRODUTO) +
		RIGHT(REPLICATE(''0'', 13) + CONVERT(VARCHAR, CONVERT(BIGINT, SUM(QTDE) * 1000)), 13) +
		RIGHT(REPLICATE(''0'', 16) + CONVERT(VARCHAR, CONVERT(BIGINT, SUM(VALOR) * 100)), 16) +
		RIGHT(REPLICATE(''0'', 16) + CONVERT(VARCHAR, CONVERT(BIGINT, SUM(VALOR) * 100)), 16) +
		CONVERT(CHAR(4), ''CANC'') +
		CONVERT(CHAR(54), ''''),
		RIGHT(A.DATA, 4) + LEFT(A.DATA, 2) + ''99'' + ''5'' AS INDICE
	FROM
		(SELECT DATA = RIGHT(REPLICATE(''0'', 2) + CONVERT(VARCHAR, month(A.DATA), 112), 2) + CONVERT(VARCHAR, year(A.DATA), 112),
			D.PRODUTO, D.ALIQUOTA, G.CLASSIF_FISCAL, QTDE = SUM(QTDE_CANCELADA), VALOR = SUM((D.PRECO_LIQUIDO + D.DESCONTO_ITEM) * D.QTDE_CANCELADA)
		FROM
			LOJA_VENDA_PGTO A
			INNER JOIN LOJA_VENDA B ON A.CODIGO_FILIAL = B.CODIGO_FILIAL_PGTO AND A.TERMINAL = B.TERMINAL_PGTO AND A.LANCAMENTO_CAIXA = B.LANCAMENTO_CAIXA
			INNER JOIN LOJA_VENDA_PRODUTO D ON B.CODIGO_FILIAL = D.CODIGO_FILIAL AND B.TICKET = D.TICKET AND B.DATA_VENDA = D.DATA_VENDA
			INNER JOIN LOJAS_VAREJO E ON A.CODIGO_FILIAL = E.CODIGO_FILIAL
			INNER JOIN FILIAIS F ON E.FILIAL = F.FILIAL
			INNER JOIN PRODUTOS G ON D.PRODUTO = G.PRODUTO
			INNER JOIN CLASSIF_FISCAL H ON G.CLASSIF_FISCAL = H.CLASSIF_FISCAL
		WHERE
			A.ID_EQUIPAMENTO IS NOT NULL AND D.QTDE_CANCELADA > 0
			AND EXISTS(SELECT ECF FROM LOJA_CONTROLE_FISCAL WHERE CODIGO_FILIAL = A.CODIGO_FILIAL AND TERMINAL = A.TERMINAL AND ID_EQUIPAMENTO = A.ID_EQUIPAMENTO AND DATA_FISCAL = A.DATA)
			AND (D.ITEM_EXCLUIDO = 1 OR A.CANCELADO_FISCAL = 1)
			AND A.CODIGO_FILIAL = @P17
			AND A.DATA BETWEEN @P18 AND @P19
		GROUP BY
			A.DATA, D.PRODUTO, D.ALIQUOTA, G.CLASSIF_FISCAL) A
	GROUP BY
		DATA, PRODUTO, CLASSIF_FISCAL, ALIQUOTA
	ORDER BY
		TEXT',N'@P1 varchar(2),@P2 varchar(18),@P3 varchar(2),@P4 varchar(18),@P5 varchar(2),@P6 varchar(18),@P7 varchar(2),@P8 varchar(18),@P9 varchar(2),
		@P10 varchar(18),@P11 varchar(6),@P12 datetime,@P13 datetime,@P14 varchar(6),@P15 datetime,@P16 datetime,@P17 varchar(6),@P18 datetime,@P19 datetime',
		
		/*@P1*/'SP',--SELECT UF,* FROM CLASSIF_FISCAL_IMPOSTO WHERE UF = 'SP'
		/*@P2*/'TREINAMENTO LOJA A',--SELECT FILIAL ,*FROM LOJAS_VAREJO WHERE CODIGO_FILIAL = '000002'
		/*@P3*/'SP',--SELECT UF,* FROM CLASSIF_FISCAL_IMPOSTO WHERE UF = 'SP'
		/*@P4*/'TREINAMENTO LOJA A',--SELECT FILIAL ,*FROM LOJAS_VAREJO WHERE CODIGO_FILIAL = '000002'
		/*@P5*/'SP',--SELECT UF,* FROM CLASSIF_FISCAL_IMPOSTO WHERE UF = 'SP'
		/*@P6*/'TREINAMENTO LOJA A',--SELECT FILIAL ,*FROM LOJAS_VAREJO WHERE CODIGO_FILIAL = '000002'
		/*@P7*/'SP',--SELECT UF,* FROM CLASSIF_FISCAL_IMPOSTO WHERE UF = 'SP'
		/*@P8*/'TREINAMENTO LOJA A',--SELECT FILIAL ,*FROM LOJAS_VAREJO WHERE CODIGO_FILIAL = '000002'
		/*@P9*/'SP',--SELECT UF,* FROM CLASSIF_FISCAL_IMPOSTO WHERE UF = 'SP'
		/*@P10*/'TREINAMENTO LOJA A',--SELECT FILIAL ,*FROM LOJAS_VAREJO WHERE CODIGO_FILIAL = '000002'
		/*@P11*/'000002',--SELECT CODIGO_FILIAL,* FROM LOJA_VENDA_PGTO WHERE CODIGO_FILIAL ='000002'
		/*@P12*/'2010-10-01 00:00:00',--SELECT DATA FROM LOJA_VENDA_PGTO WHERE DATA BETWEEN '2009-10-01 00:00:00' AND '2010-10-31 00:00:00'
		/*@P13*/'2010-10-31 00:00:00',--SELECT DATA FROM LOJA_VENDA_PGTO WHERE DATA BETWEEN '2009-10-01 00:00:00' AND '2010-10-31 00:00:00'
		/*@P14*/'000002',--SELECT CODIGO_FILIAL FROM LOJA_VENDA_PGTO
		/*@P15*/'2010-10-01 00:00:00',--SELECT DATA FROM LOJA_VENDA_PGTO WHERE DATA BETWEEN '2009-10-01 00:00:00' AND '2010-10-31 00:00:00'
		/*@P16*/'2010-10-31 00:00:00',--SELECT DATA FROM LOJA_VENDA_PGTO WHERE DATA BETWEEN '2009-10-01 00:00:00' AND '2010-10-31 00:00:00'
		/*@P17*/'000002',--SELECT CODIGO_FILIAL FROM LOJA_VENDA_PGTO WHERE CODIGO_FILIAL = '000002'
		/*@P18*/'2009-01-01 00:00:00',--SELECT DATA FROM LOJA_VENDA_PGTO WHERE DATA BETWEEN '2009-10-01 00:00:00' AND '2010-10-31 00:00:00'
		/*@P19*/'2010-10-31 00:00:00'--SELECT DATA FROM LOJA_VENDA_PGTO WHERE DATA BETWEEN '2009-10-01 00:00:00' AND '2010-10-31 00:00:00'
		


